ECMAScript 2024
জাভাস্ক্রিপ্ট 2024-এ নতুন বৈশিষ্ট্য
| বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
Object.groupBy() |
একটি কলব্যাক ফাংশন থেকে প্রত্যাবর্তিত মান অনুযায়ী বস্তুর উপাদানগুলিকে গোষ্ঠীভুক্ত করুন |
Map.groupBy() |
একটি কলব্যাক ফাংশন থেকে প্রত্যাবর্তিত মান অনুযায়ী গ্রুপ ম্যাপ উপাদান |
String isWellFormed() |
একটি স্ট্রিং ভালভাবে গঠিত হলে সত্য প্রদান করে |
String.toWellFormed() |
"লোন সারোগেটস" ইউনিকোড U+FFFD দিয়ে প্রতিস্থাপিত একটি নতুন স্ট্রিং প্রদান করে |
Promise.withResolvers() |
|
Atomics.waitAsync |
সতর্কতা:
এই বৈশিষ্ট্যগুলি তুলনামূলকভাবে নতুন।
পুরানো ব্রাউজারগুলির প্রতিস্থাপন কোড (পলিফিল) প্রয়োজন হতে পারে।
JavaScript Object.groupBy()
উদাহরণ
// Create an Array
const fruits = [
{name:"apples", quantity:300},
{name:"bananas", quantity:500},
{name:"oranges", quantity:200},
{name:"kiwi", quantity:150}
];
// Callback function to Group Elements
function myCallback({ quantity }) {
return quantity > 200 ? "ok" : "low";
}
// Group by Quantity
const result = Object.groupBy(fruits, myCallback);
ব্যাখ্যা
Object.groupBy()পদ্ধতি একটি কলব্যাক ফাংশন থেকে প্রত্যাবর্তিত স্ট্রিং মান অনুযায়ী বস্তুর উপাদানগুলিকে গোষ্ঠীভুক্ত করে।
Object.groupBy()পদ্ধতিটি একটি নতুন বস্তু প্রদান করে।
Object.groupBy()পদ্ধতিটি মূল বস্তুর পরিবর্তন করে না।
দ্রষ্টব্য:
মূল এবং পুনঃনির্দেশিত বস্তুর উপাদানগুলি একই।
ভবিষ্যতের পরিবর্তনগুলি মূল এবং পুনঃনির্দেশিত উভয় বস্তুতে প্রতিফলিত হবে।
JavaScript Map.groupBy()
উদাহরণ
// Create a Map
const fruits = [
{name:"apples", quantity:300},
{name:"bananas", quantity:500},
{name:"oranges", quantity:200},
{name:"kiwi", quantity:150}
];
// Callback function to Group Elements
function myCallback({ quantity }) {
return quantity > 200 ? "ok" : "low";
}
// Group by Quantity
const result = Map.groupBy(fruits, myCallback);
ব্যাখ্যা
Map.groupBy()পদ্ধতি একটি কলব্যাক ফাংশন থেকে প্রত্যাবর্তিত স্ট্রিং মান অনুযায়ী মানচিত্রের উপাদানগুলিকে গোষ্ঠীভুক্ত করে।
Map.groupBy()পদ্ধতিটি একটি নতুন মানচিত্র প্রদান করে।
Map.groupBy()পদ্ধতিটি মূল বস্তুর পরিবর্তন করে না।
দ্রষ্টব্য:
মূল এবং পুনঃনির্দেশিত বস্তুর উপাদানগুলি একই।
ভবিষ্যতের পরিবর্তনগুলি মূল এবং পুনঃনির্দেশিত উভয় বস্তুতে প্রতিফলিত হবে।
Object.groupBy() vs Map.groupBy()
Object.groupBy()এবংMap.groupBy()মধ্যে পার্থক্য:
Object.groupBy()
একটি একক জাভাস্ক্রিপ্ট অবজেক্টে উপাদানগুলিকে গোষ্ঠীভুক্ত করে
Map.groupBy()
উপাদানগুলিকে একটি মানচিত্র বস্তুতে গোষ্ঠীবদ্ধ করে৷
JavaScript String isWellFormed()
isWellFormed()একটি স্ট্রিং ভালভাবে গঠিত হলে পদ্ধতিটি সত্য হয়।
অন্যথায় মিথ্যা ফেরত দেয়।
একটি স্ট্রিং ভালভাবে গঠিত হয় না যদি এতে একাকী সারোগেট থাকে।
উদাহরণ
let text = "Hello world!";
let result = text.isWellFormed();
let text = "Hello World \uD800";
let result = text.isWellFormed();
Lone Surrogates
একটি একাকী সারোগেট হল একটি ইউনিকোড সারোগেট কোড পয়েন্ট যা UTF-16 এনকোডিং-এর অক্ষরগুলিকে উপস্থাপন করতে ব্যবহৃত একটি বৈধ সারোগেট সংযোগের অংশ নয়।
JavaScript String toWellFormed()
String.toWellFormed()পদ্ধতিটি ইউনিকোড প্রতিস্থাপন অক্ষর (U+FFFD) দিয়ে প্রতিস্থাপিত সমস্ত "লোন সারোগেটস" সহ একটি নতুন স্ট্রিং প্রদান করে।
উদাহরণ
let text = "Hello World \uD800";
let result = text.toWellFormed();
JavaScript Promise.withResolvers()
Promise.withResolvers()একটি আদর্শ পদ্ধতি যা প্রতিশ্রুতি তৈরি এবং পরিচালনাকে সহজ করে।
Promise.withResolvers()একটি প্রতিশ্রুতির সাথে যুক্ত সংকল্পটি তার নির্বাহক ফাংশনের বাইরে অন্যান্য প্রত্যাখ্যান ফাংশনগুলি অ্যাক্সেস করার আরও সুবিধাজনক উপায় সরবরাহ করে।
প্রথাগতnew Promise((resolve, reject) => { ... })কনস্ট্রাক্টর পদ্ধতির পরিবর্তে,Promise.withResolvers()নিম্নলিখিত বস্তু প্রদান করে:
promise: একটি নতুন তৈরি প্রতিশ্রুতি উদাহরণresolve: একটি ফাংশন যা একটি মান সহ একটি প্রতিশ্রুতি কার্যকর করেreject: একটি ফাংশন যা একটি কারণ (ত্রুটি) সহ একটি প্রতিশ্রুতি প্রত্যাখ্যান করে।
উদাহরণ
<p id="demo">Waiting...</p>
<script>
const {promise, resolve, reject} = Promise.withResolvers();
// You can now use 'resolve' and 'reject' anywhere
// in your code to control the state of 'promise'.
// Simulate async work
setTimeout(() => {
const success = Math.random() > 0.5;
if (success) {
resolve("Operation successful!");
} else {
reject("Operation failed!");
}
}, 1000);
// Update the UI when the promise finishes
promise
.then((message) => {
document.getElementById("demo").innerHTML = message;
})
.catch((error) => {
document.getElementById("demo").innerHTML = error; ;
});
</script>
উদাহরণ বর্ণনা
<p id="demo">প্রাথমিকভাবে "ওয়েটিং..." দেখায়- 1 সেকেন্ড পরে, প্রতিশ্রুতি সমাধান বা প্রত্যাখ্যান করে
- ফলাফল "ডেমো" এ লেখা আছে।
ECMAScript 2024 টিউটোরিয়াল
এই টিউটোরিয়ালটি আপনাকে ECMAScript 2024 নতুন বৈশিষ্ট্য সম্পর্কে আপনার জ্ঞান পরীক্ষা করতে সাহায্য করবে।